The use of digraphs may not meet developer expectations.
The digraphs are:
Noncompliant code example
template <typename T>
class A
{
public:
template<int32_t i>
void f2();
};
void f(A<int32_t> * a<:10:>) /* Noncompliant - usage of '<:' instead of '[' and ':>' instead of ']' */
<% /* Noncompliant - usage of '<%' instead of '{' */
a<:0:>->f2<20>(); /* Noncompliant - usage of '<:' and ':>' */
%> /* Noncompliant - usage of '%>' instead of '}' */
Compliant solution
/* ... */
void f(A<int32_t> * a[10]) /* Compliant */
{ /* Compliant */
a[0]->f2<20>(); /* Compliant */
} /* Compliant */